LambdaSim 0.6 Release Note
LambdaSim 0.6 以全新的 LambdaEngine 可视化编辑器为核心,将场景搭建、参数配置、机器人控制和仿真观察整合到同一工作空间。新版本支持 USD 与 URDF 资产工作流,扩展多末端与批量 IK、GripperSlot 抓取目标编辑、导航及多车巡航,完善 MuJoCo Ektro 刚体、Vera IPC 柔性体和 DFSPH 流体仿真接入,并提供材质灯光编辑、无窗口渲染与多相机图像输出。同时,针对大型场景加载、OpenGL 绘制和动态数据更新进行优化,配合可扩展的组件与 Python API,让机器人应用的搭建、调试和验证更加便捷。
LambdaEngine 编辑器与工具扩展
Lambda Engine 是 LambdaSim 的可视化场景编辑与仿真调试工具,基于 USD 场景描述和 LambdaSim 组件体系,提供场景大纲、参数面板、资产管理、3D 视口和时间轴等功能模块,支持资产浏览与收藏、场景搭建、对象变换、材质编辑及组件配置
面向机器人应用,可通过 GripperSlot 标定抓取位置、方向和插入角度范围,配合 IK 与物理求解器进行动作规划和仿真,并通过 OpenGL、LambdaRender 查看场景与计算结果,实现从场景配置到仿真运行的可视化工作流程。

如图(上): 以电池工位展示 LambdaEngine 的场景编辑工作区。左侧场景大纲展开 USD 节点层级,中间视口用于观察和选择机器人及工装,右侧参数面板可调整对象变换与材质,底部材质库便于浏 览和复用场景材质,在同一界面完成对象定位、参数编辑与渲染效果检查。
编辑器工作区
-
场景大纲:以场景对象为入口,展开资产内部的 USD Prim(场景节点)层级,展示 Xform、Mesh 等节点的名称、类型和父子关系,便于浏览场景结构并定位机器人及零件。
-
三维视口:呈现机器人、环境和场景几何;支持创建多个视口,各视口可独立选择自由视角或机器人头部、手腕等位置的挂载相机,同时查看整体场景与多个相机画面。
-
参数面板:集中查看和编辑场景对象及组件参数,包括变换、材质与灯光属性;配套 Render Parameter 页可调整采样、降噪等渲染设置,并在视口中观察效果。
-
资源管理:展示硬盘上的资产文件和文件夹,通过 Favourite 预设常用资产目录入口,支持按目录浏览并将资产拖入视口,方便复用本地资源。
-
时间轴:展示并操作场景时间,组织场景求值过程。
-
日志:显示运行状态和诊断信息,辅助观察与排查问题。
场景交互与显示
-
对象选择与变换编辑:支持对象选择、聚焦以及平移、旋转、尺寸编辑。
-
多视口与场景显示:提供多视口观察、自适应坐标网格,以及场景求值后的自动姿态同步。
-
高 DPI 显示适配:适配高 DPI 显示环境,改善编辑器界面的尺寸与显示效果。
资产与场景管理

如图(上): 展示了由 AGV、货架及多种规格纸箱组成的仓储资产预览场景。底部 Asset Manager 通过 Favourite 集中展示硬盘上的常用资产目录,可浏览 USD 文件并将其拖入视口搭建场景;左侧场景大纲用于定位对象,右侧参数面板用于调整位置、姿态与材质,配合 LambdaRender 检查模型外观、贴图和灯光效果。
-
USD 与 URDF 文件格式兼容:加载 USD 场景与 URDF 机器人。
-
URDF 扩展属性:URDF 可携带有类型的 LambdaSim 扩展属性,使驱动增益、初始状态和重力补偿等配置随资产传递。
-
URDF 物理描述转换:提供显式的
convert_urdf_physics_to_usd(),转换支持的刚体、惯量、碰撞和关节描述,并报告未映射的源字段;该接口不代表所有 URDF 导入已自动切换为 USD 物理解释。 -
USD 场景保存、合并导入与实例关系处理:区分原型与运行时实例;按
/root/obj的实际层级识别并合并完整场景,无需额外场景清单标记。保存对象的世界 摆放、相机、灯光、物理属性及组件配置;对象路径独立于运行时SceneObject.parent,导入后避免重复的对象根节点。 -
路径解析:通过
resolve_path()按完整路径定位场景对象、几何视图、相机描述或灯光;通过resolve_xform_node()获取变换节点及其所属对象。 -
路径筛选:通过
query_paths()按路径、标签、层级范围及包含/排除规则筛选,目前支持网格(mesh)和刚体(body)。 -
物理数据查询:通过
get_collider_data()、get_physics_data()、get_body_data()读取路径对应的碰撞几何、物理属性及刚体描述。
物体语义标签(Tag)
-
标签编辑与分类:通过
add_tags()、set_tags()、remove_tags()为场景节点添加、替换或删除标签,并通过 taxonomy 组织不同类别的标签。 -
标签读取与继承:通过
get_tags()读取节点自身标签,通过get_inherited_tags()获取包含祖先节点标签的结果,支持统一标记整组场景内容。 -
按标签选择场景输入:通过
Scene.query_paths(tags=...)筛选网格或刚体,支持多个标签之间的 OR 匹配、包含或排除,以及与路径层级范围联合查询,用于组织求解器和业务脚本的输入。
二次开发
-
Component 自定义组件:以组件定义业务参数、编辑界面和更新逻辑,通过工厂注册后使用;支持数值、颜色、下拉、列表和结构化参数,并提供配置保存与恢复。
-
Viewport Guide 自定义空间交互:为组件绘制传感器范围、抓取区域、目标位置等辅助形状,支持拾取、高亮、聚焦,以及通过 Gizmo 将视口拖动绑定到组件参数。组件提交数据后可调用
invalidate_guides()通知编辑器刷新辅助形状。
![]() | ![]() |
如图: Gizmo 绑定双臂 IK 的末端目标,拖动平移轴或旋转环即可调整目标位姿,由 IK 实时求解并更新机器人姿态。(左)局部坐标轴随夹爪姿态旋转,便于沿夹爪自身方向调整;(右)世界坐标轴始终与世界坐标系对齐,便于沿场景固定方向调整。悬停操作柄并右键,可切换两种坐标模式。

